import sqlite3

con = sqlite3.connect("sqlite3.db")
cur = con.cursor()
sql = "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY,name TEXT,age INTEGER)"
cur.execute(sql)

# ①：添加单条数据
data = "1,'Desire',5"
cur.execute('INSERT INTO test VALUES (%s)' % data)
# ②：添加单条数据
cur.execute("INSERT INTO test values(?,?,?)", (6, "zgq", 20))
# ③：添加多条数据
cur.executemany('INSERT INTO test VALUES (?,?,?)', [(3, 'name3', 19), (4, 'name4', 26)])

# 更新数据（需要提交）#

# 方式一
cur.execute("UPDATE test SET name=? WHERE id=?", ("nihao", 1))
# 方式二
cur.execute("UPDATE test SET name='haha' WHERE id=3")

#删除数据（需要提交）#
# 方式一
cur.execute("DELETE FROM test WHERE id=?", (1,))
# 方式二
cur.execute("DELETE FROM test WHERE id=3")

#查询所有数据

cur.execute("select * from Test")
print(cur.fetchall())
#查询第一条数据

cur.execute("select * from Test")
print(cur.fetchone())

#查询多条数据
print(cur.fetchmany(3))

#事务的提交

con.commit()
#事务的提交回滚

con.rollback()

#断开会话连接，释放资源
# 关闭游标
cur.close()
# 断开数据库连接
con.close()